import { legacy_createStore as createStore } from "../redux";
import rootReducer from "./reducers";
const store = createStore(rootReducer);
// 1. 缓存原始的 dispatch 方法
let originalDispatch = store.dispatch;
// 2. 重写  dispatch 方法
store.dispatch = function (action) {
  // 3. 先打印老状态
  console.log("prev state", store.getState());
  // 4. 执行老方法
  let result = originalDispatch(action);
  // 5. 先打印新状态
  console.log("next state", store.getState());
  // 6. 返回值
  return result;
};
export default store;

/**
 * 实现日志打印的功能，在状态变更的前后打印变化前的状态和变化后的状态
 * 这个需求就可以通过中间件实现，核心思路或者说原理是靠重新store.dispatch实现
 *
 */
